package model.forview;

import java.util.ArrayList;

import controllers.routes;

import security.Security;

import model.wrap.node.Node;
import models.ConstantName;
import models.ConstantValue;

public class NodeOwnModelForView extends ContentForMainTemplate
{
    private ArrayList<Node> node;

    public NodeOwnModelForView()
    {
	this.node = Node.getAllUsersNodes(Security.getUserFromSession());
	setDefaultValues();
    }
    
    public ArrayList<Node> getNodes()
    {
	return this.node;
    }
    
    public int getSizeOfNodes()
    {
	return node.size();
    }

    public String getNodeTitle(int index)
    {
	return node.get(index).getTitle();
    }

    public String getNodeChangerName(int index)
    {
	String fullName = "";
	try
	{
	    fullName = node.get(index).getChanger().getFullName();
	}
	catch (Exception e)
	{
	    fullName = "";
	}

	return fullName;
    }

    public Long getNodeId(int index)
    {
	return (node.get(index).getId());
    }
    
    public String getNodeChangeDate(int index)
    {
	return node.get(index).getChangeFormatDate();
    }

    /**
     *Возвращает индек для шаблона
     * @param index
     * @return
     */
    public String getIndex(int index)
    {
        return String.valueOf(index + 1);
    }

    public void setDefaultValues()
    {
	String title = ConstantValue
		.getConstantValue(ConstantName.STRUCTURES_PAGE_TITLE);
	title = title != null ? title : "Собственные узлы";
	String userName = "";
	String header = ConstantValue
		.getConstantValue(ConstantName.STRUCTURES_PAGE_HEADER);
	header = header != null ? header : "Собственные узлы";
	String footer = ConstantValue
		.getConstantValue(ConstantName.STRUCTURES_PAGE_FOOTER);
	footer = footer != null ? footer : "Собственные узлы";
	mainModelForView = new MainModelForView(title, userName, header, footer);
    }

}
